package experiment01;

import java.util.Scanner;
/**
 * 从控制台输入一行字符，分别统计出其中英文字母、空格、数字和其它字符的个数。其中，从控制台获得输入的代码参考如下：
 * Scanner scan = new Scanner(System.in);
 * String str = scan.nextLine();
 * 提示：使用String类和Character类的相应方法来实现
 */
public class CharacterStatistics {


    public static void main(String[] args) {
        System.out.println("请输入字符串：");
        //扫描器，接受控制台的输入
        Scanner scan = new Scanner(System.in);
        //取出控制台的一行信息
        String scanStr = scan.nextLine();
        int countL = 0;
        int countD = 0;
        int countS = 0;
        int countA = 0;
        //将接收到的字符串变成字符数组
        char[] scanChar = scanStr.toCharArray();
        for (int i = 0; i < scanChar.length; i++) {
            if (Character.isLetter(scanChar[i])) {
                countL++;
            } else if (Character.isDigit(scanChar[i])) {
                countD++;
            } else if (Character.isSpaceChar(scanChar[i])) {
                countS++;
            } else {
                countA++;
            }
        }

        //汉字也算做了字符
        System.out.println("中英文字母个数：" + countL);
        System.out.println("数字个数：" + countD);
        System.out.println("空格个数：" + countS);
        System.out.println("其他字符个数：" + countA);
    }
}
